package com.ruoyi.bus.service;

import com.ruoyi.bus.constant.BookIngTypeEnum;
import com.ruoyi.bus.domain.WitAppoint;
import com.ruoyi.bus.domain.WitComment;
import com.ruoyi.bus.domain.WitNotice;
import com.ruoyi.bus.vo.*;
import com.ruoyi.common.core.domain.AjaxResult;

import java.util.List;

/**
 * @Description
 * @Author caiyanshan
 * @Date 2021/4/15 14:45
 * @Param
 * @Return
 */
public interface IApiService {
  
  public AjaxResult login(LoginVo loginVo);

  public AjaxResult openIdLogin(String openId);

  public AjaxResult updateUserName(String userName);

  public AjaxResult updateUserDept(Long deptId);

  public AjaxResult updatePassWord(String passWord);
  
  public AjaxResult register(RegisterVo registerVo);
  
  public AjaxResult makeBookIng(WitAppoint witAppoint);

  public AjaxResult myBookIng(BookIngTypeEnum type);
  
  public AjaxResult cancelBookIng(Long appointId);

  public AjaxResult getBookingDetail(Long appointId);

  public AjaxResult listCommentType();

  public AjaxResult submitComment(WitComment witComment);

  public List<WitNotice> listHomeNoticeData();

  public List<WitAppoint> listHomeBookIngData();

  public AjaxResult getNoticeDetail(Long noticeId);
  
  public AjaxResult listPlanRecord(Integer status);

  public AjaxResult listHomePlanRecord();
  
  public AjaxResult getPlanDetails(Long planId);
  
  public AjaxResult overCar(Long busId, String driveTime);
  
  public AjaxResult sendCar(Long busId, String driveTime);
  
  public AjaxResult myCommonRoute();
  
  public AjaxResult getDataCount();

  public WitNotice getNoticeByID();
  
  public AjaxResult getSysParam(String key);
  
  public AjaxResult reportSite(Long routeId, Long siteId, String deviceTime);
  
  public AjaxResult tempMakeBooking(WitAppoint witAppoint);//临时预约
  
  public AjaxResult intoCar(IntoCarVo intoCarVo);//扫码上车
  
  public AjaxResult getDictParam(String type);
  
  public AjaxResult listBanner();
  
  public AjaxResult reportSiteInfo(SiteInfo siteInfo);
  
  public AjaxResult myRoute();
  
  public AjaxResult todayPlanBus();
  
  public AjaxResult noPlanDriverUser();
  
  public AjaxResult changeDriver(ChangeDriver changeDriver);

  public AjaxResult changeDriverPlan(ChangeDriverPlan changeDriverPlan);
  
  public AjaxResult listChangeRecord();

  public AjaxResult listChangeDriver();
  
}
